// package com.ruoyi.pay.controller;
//
// import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// import com.ruoyi.common.core.domain.AjaxResult;
// import com.ruoyi.common.utils.SecurityUtils;
// import com.ruoyi.pay.domain.CreateOrderReq;
// import com.ruoyi.pay.domain.WxOrder;
// import com.ruoyi.pay.service.IWxOrderService;
// import com.ruoyi.pay.service.PayService;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.web.bind.annotation.PostMapping;
// import org.springframework.web.bind.annotation.RequestBody;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RestController;
//
// import javax.servlet.http.HttpServletRequest;
// import java.math.BigDecimal;
// import java.util.HashMap;
// import java.util.Map;
// import java.util.UUID;
//
//
// /**
//  * 微信商品订单Controller
//  *
//  * @author jiang
//  * @date 2024-10-27
//  */
// @RestController
// @RequestMapping("/pay")
// public class WxPayController {
//
//     @Autowired
//     PayService payService;
//
//     @Autowired
//     IWxOrderService wxOrderService;
//     /**
//      * 微信支付 统一预下单接口
//      * @author shuqingyou 2022/9/17
//      */
//     @PostMapping(value = "/wx/createNative")
//     public Map<String, Object> createNative(HttpServletRequest request, @RequestBody HashMap param) {
//         Map<String, Object> ResultMap = new HashMap<String, Object>();
//         try {
//             CreateOrderReq req = new CreateOrderReq();
//             String uuidString = UUID.randomUUID().toString();
//             String cleanUuid = uuidString.replace("-", "");  // 移除连字符
//             req.setOutTradeNo(cleanUuid);
//            req.setDescription("测试支付");
//            req.setTotalFee(new BigDecimal(0.01));
// //             req.setTotalFee(new BigDecimal(25));
//             // todo 获取用户id
//             req.setUserId(SecurityUtils.getUserId().toString());
//             req.setDescription("积分购买");
//             return payService.createOrder(req);
//         } catch (Exception e) {
//             ResultMap.put("code", 2);
//             ResultMap.put("msg", "系统异常错误代码：" + e.getMessage());
//             e.printStackTrace();
//         }
//         return ResultMap;
//     }
//
//     @PostMapping(value = "/queryWxOrder")
//     public AjaxResult queryWxOrder(HttpServletRequest request,  @RequestBody HashMap param) {
//         try {
//             QueryWrapper<WxOrder> wrapper = new QueryWrapper<>();
//             wrapper.eq("remark", param.get("userId")).eq("description", param.get("description")).orderByDesc("create_time").last("limit 1");
//             WxOrder wxOrder = wxOrderService.selectOne(wrapper);
//             return AjaxResult.success(wxOrder);
//         } catch (Exception e) {
//             AjaxResult.error("系统繁忙");
//             e.printStackTrace();
//         }
//         return AjaxResult.error("系统繁忙");
//     }
//
//     /**
//      * 微信支付回调
//      *
//      * @return 回调结果
//      */
//     @PostMapping("/wx/payNotifyUrl")
//     public Map wechat(HttpServletRequest request) throws Exception {
//         // 处理成功，返回 200 OK 状态码
//         return payService.payNotify(request);
//     }
//
//     /**
//      * 查询微信订单交易状态
//      * @author shuqingyou 2022/9/17
//      * @param request
//      * @param response
//      * @return
//      *//*
//     @RequestMapping(value = "/QueryPayStatus")
//     @ResponseBody
//     public Map<String, Object> QueryPayStatus(HttpServletRequest request, HttpServletResponse response) {
//         Map<String, Object> ResultMap = new HashMap<String, Object>();
//         try {
//             //todo // 商户订单号 唯一
//             String out_trade_no = request.getParameter("out_trade_no");
//             WeChatPay weChatPay = new WeChatPay();
//             weChatPay.setAppid(wechatPayConfig.getAppid())//公众号appid
//                     .setMch_id(wechatPayConfig.getMch_id()) // 商户号
//                     .setApi_key(wechatPayConfig.getApi_key())//api密钥
//                     .setNonce_str(WXPayUtil.generateNonceStr())// 32位随机字符串
//                     .setOut_trade_no(out_trade_no)// 商户订单号 唯一
//                     .setSub_mch_id("1609469848");//子商户号 微信支付 分配的子商户号（服务商模式的时候填入）
//
//             *//**查询订单交易状态**//*
//             return payService.QueryPayStatus(weChatPay);
//         } catch (Exception e) {
//             ResultMap.put("code", 2);
//             ResultMap.put("msg", "系统异常错误代码：" + e.getMessage());
//             e.printStackTrace();
//         }
//         return ResultMap;
//     }*/
//
// }
